/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package view;

import java.util.ArrayList;
import model.dao.AtividadeDao;
import model.pojo.Atividade;

/**
 *
 * @author Julio
 */
class AtividadeView {

    private AtividadeDao atividadeDao;

    public AtividadeView(AtividadeDao atividadeDaoImpl) {
        this.atividadeDao = atividadeDaoImpl;
    }

    public ArrayList<Atividade> addAtividade() {
        Atividade atividade = new Atividade();
        System.out.println("Opcao escolhida:'Adicionar Atividade'");
        System.out.println("digite o nome da atividade");

        atividade.setNome(Console.readString());

        System.out.println("digite o tipo da atividade");
        atividade.setTipo(Console.readString());

        System.out.println("digite a data da atividade");
        atividade.setData(Console.readString());

        System.out.println("digite o valor da atividade");
        atividade.setValor(Console.readFloat());

        atividade.setId(atividadeDao.novoId());

        if (atividadeDao.addAtividade(atividade) == false) {
            System.out.println("Atividade ja cadastrada");
        }
        return atividadeDao.getAtividade();
    }

    public int listarAtividade() {
        ArrayList<Atividade> list;
        list = atividadeDao.getAtividade();
        if (list.isEmpty()) {
            System.out.println("Não há atividades cadastradas:\n");
            return 0;
        }
        System.out.println("Listagem de atividade:\n");
        int i;
        for (i = 0; i < list.size(); i++) {
            System.out.println("Id: " + list.get(i).getId());
            System.out.println("Tipo: " + list.get(i).getTipo());
            System.out.println("Nome: " + list.get(i).getNome());
            System.out.println("Data: " + list.get(i).getData());
            System.out.println("Valor: " + list.get(i).getValor());
            System.out.println("----------------------------\n");
        }
        return 1;
    }

    public void imprimirAtividadePorId(Integer idAtividade) {
        ArrayList<Atividade> list = atividadeDao.getAtividade();
        int i;
        for (i = 0; i < list.size(); i++) {
            if (list.get(i).getId() == idAtividade) {
                System.out.println("Id: " + list.get(i).getId());
                System.out.println("Tipo: " + list.get(i).getTipo());
                System.out.println("Nome: " + list.get(i).getNome());
                System.out.println("Data: " + list.get(i).getData());
                System.out.println("Valor: " + list.get(i).getValor());
                System.out.println("----------------------------\n");
            }
        }
    }

    public boolean listarAtividadePorIdTurma(Integer idTurma) {
        ArrayList<Integer> atividades = atividadeDao.getListaAtividadeTurma();
        ArrayList<Integer> turmas = atividadeDao.getListaTurma();

        Integer i;
        if (turmas.isEmpty()) {
            System.out.println("Não há atividades e/ou esta turma nao esta cadastrada\n");
            return false;
        }
        for (i = 0; i < atividades.size(); i++) {
            if (turmas.get(i) == idTurma) {
                imprimirAtividadePorId(atividades.get(i));
            }
        }
        return true;
    }

    public ArrayList<Atividade> addAtividadePorTurma(Integer idTurma) {
        Atividade atividade = new Atividade();
        System.out.println("Opcao escolhida:'Adicionar Atividade'");
        System.out.println("digite o nome da atividade");
        atividade.setNome(Console.readString());

        System.out.println("digite o tipo da atividade");
        atividade.setTipo(Console.readString());

        System.out.println("digite a data da atividade");
        atividade.setData(Console.readString());
        
        System.out.println("digite o valor da atividade");
        atividade.setValor(Console.readFloat());

        atividade.setId(atividadeDao.novoId());
        
        
        if(atividadeDao.addAtividadeTurma(atividade, idTurma) == false) {
            System.out.println("Atividade ja cadastrada");
        }
        return atividadeDao.getAtividade();
    }
}